// 引入 mongoose 模块
const mongoose = require('mongoose');  
// 获取 Schema 方法
const Schema = mongoose.Schema; 

// 创建 categorySchema
const categorySchema = new Schema({
  // 电影分类名字
  name: {
    unique: true,  // 不重复
    type: String
  },
  movies: [{
    type: Schema.Types.ObjectId,
    ref: 'Movie'  // 引用关系, 让每条数据指向 Movie
  }],

  // 用于记录这条数据的信息
  meta: {
    // 这条数据的创建时间
    createdAt: {  
      type: Date,
      default: Date.now()  // 默认值
    },
    // 这条数据的更新时间
    updatedAt: {
      type: Date,
      default: Date.now()  // 默认值
    }
  }
});

// 创建中间件更新日期
categorySchema.pre('save', function (next) {
  if (this.isNew) {
    this.meta.createdAt = this.meta.updatedAt = Date.now();
  } else {
    this.meta.updatedAt = Date.now();
  }
  next();
})

// 生成数据模型
mongoose.model('Category', categorySchema);
